<test>
  <sql>SELECT	*
FROM	JoinTable1 t1
			FULL OUTER JOIN JoinTable2 t2 ON t1.ID &gt;= t2.ID</sql>
  <expectedResults>
    <NewDataSet>
  <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table1">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:string" minOccurs="0" />
                <xs:element name="Value" type="xs:string" minOccurs="0" />
                <xs:element name="ID1" msdata:Caption="ID" type="xs:string" minOccurs="0" />
                <xs:element name="Value1" msdata:Caption="Value" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <Table1>
    <ID>2</ID>
    <Value>Two</Value>
    <ID1>1</ID1>
    <Value1>One</Value1>
  </Table1>
  <Table1>
    <ID>2</ID>
    <Value>Two</Value>
    <ID1>2</ID1>
    <Value1>Two</Value1>
  </Table1>
  <Table1>
    <ID>3</ID>
    <Value>Three</Value>
    <ID1>1</ID1>
    <Value1>One</Value1>
  </Table1>
  <Table1>
    <ID>3</ID>
    <Value>Three</Value>
    <ID1>2</ID1>
    <Value1>Two</Value1>
  </Table1>
</NewDataSet>
  </expectedResults>
  <expectedPlan>
    <executionPlan>
      <element operator="Select">
        <properties>
          <property name="Output List.[0]" value="t1.ID AS ID" />
          <property name="Output List.[0].Table" value="t1" />
          <property name="Output List.[0].Column" value="ID" />
          <property name="Output List.[0].DataType" value="String" />
          <property name="Output List.[0].Output Name" value="ID" />
          <property name="Output List.[1]" value="t1.Value AS Value" />
          <property name="Output List.[1].Table" value="t1" />
          <property name="Output List.[1].Column" value="Value" />
          <property name="Output List.[1].DataType" value="String" />
          <property name="Output List.[1].Output Name" value="Value" />
          <property name="Output List.[2]" value="t2.ID AS ID" />
          <property name="Output List.[2].Table" value="t2" />
          <property name="Output List.[2].Column" value="ID" />
          <property name="Output List.[2].DataType" value="String" />
          <property name="Output List.[2].Output Name" value="ID" />
          <property name="Output List.[3]" value="t2.Value AS Value" />
          <property name="Output List.[3].Table" value="t2" />
          <property name="Output List.[3].Column" value="Value" />
          <property name="Output List.[3].DataType" value="String" />
          <property name="Output List.[3].Output Name" value="Value" />
        </properties>
        <input>
          <element operator="Concatenation">
            <properties>
              <property name="Output List.[0]" value="t1.ID" />
              <property name="Output List.[0].Table" value="t1" />
              <property name="Output List.[0].Column" value="ID" />
              <property name="Output List.[0].DataType" value="String" />
              <property name="Output List.[1]" value="t1.Value" />
              <property name="Output List.[1].Table" value="t1" />
              <property name="Output List.[1].Column" value="Value" />
              <property name="Output List.[1].DataType" value="String" />
              <property name="Output List.[2]" value="t2.ID" />
              <property name="Output List.[2].Table" value="t2" />
              <property name="Output List.[2].Column" value="ID" />
              <property name="Output List.[2].DataType" value="String" />
              <property name="Output List.[3]" value="t2.Value" />
              <property name="Output List.[3].Table" value="t2" />
              <property name="Output List.[3].Column" value="Value" />
              <property name="Output List.[3].DataType" value="String" />
              <property name="Statistics.Open Count" value="1" />
              <property name="Statistics.Row Count" value="4" />
              <property name="Statistics.Average Row Count" value="4" />
              <property name="Defined Values.t1..ID" value="t1.ID; t1.ID" />
              <property name="Defined Values.t1..ID.[0]" value="t1.ID" />
              <property name="Defined Values.t1..ID.[0].Table" value="t1" />
              <property name="Defined Values.t1..ID.[0].Column" value="ID" />
              <property name="Defined Values.t1..ID.[0].DataType" value="String" />
              <property name="Defined Values.t1..ID.[1]" value="t1.ID" />
              <property name="Defined Values.t1..ID.[1].Table" value="t1" />
              <property name="Defined Values.t1..ID.[1].Column" value="ID" />
              <property name="Defined Values.t1..ID.[1].DataType" value="String" />
              <property name="Defined Values.t1..Value" value="t1.Value; t1.Value" />
              <property name="Defined Values.t1..Value.[0]" value="t1.Value" />
              <property name="Defined Values.t1..Value.[0].Table" value="t1" />
              <property name="Defined Values.t1..Value.[0].Column" value="Value" />
              <property name="Defined Values.t1..Value.[0].DataType" value="String" />
              <property name="Defined Values.t1..Value.[1]" value="t1.Value" />
              <property name="Defined Values.t1..Value.[1].Table" value="t1" />
              <property name="Defined Values.t1..Value.[1].Column" value="Value" />
              <property name="Defined Values.t1..Value.[1].DataType" value="String" />
              <property name="Defined Values.t2..ID" value="t2.ID; t2.ID" />
              <property name="Defined Values.t2..ID.[0]" value="t2.ID" />
              <property name="Defined Values.t2..ID.[0].Table" value="t2" />
              <property name="Defined Values.t2..ID.[0].Column" value="ID" />
              <property name="Defined Values.t2..ID.[0].DataType" value="String" />
              <property name="Defined Values.t2..ID.[1]" value="t2.ID" />
              <property name="Defined Values.t2..ID.[1].Table" value="t2" />
              <property name="Defined Values.t2..ID.[1].Column" value="ID" />
              <property name="Defined Values.t2..ID.[1].DataType" value="String" />
              <property name="Defined Values.t2..Value" value="t2.Value; t2.Value" />
              <property name="Defined Values.t2..Value.[0]" value="t2.Value" />
              <property name="Defined Values.t2..Value.[0].Table" value="t2" />
              <property name="Defined Values.t2..Value.[0].Column" value="Value" />
              <property name="Defined Values.t2..Value.[0].DataType" value="String" />
              <property name="Defined Values.t2..Value.[1]" value="t2.Value" />
              <property name="Defined Values.t2..Value.[1].Table" value="t2" />
              <property name="Defined Values.t2..Value.[1].Column" value="Value" />
              <property name="Defined Values.t2..Value.[1].DataType" value="String" />
            </properties>
            <input>
              <element operator="NestedLoops">
                <properties>
                  <property name="Output List.[0]" value="t1.ID" />
                  <property name="Output List.[0].Table" value="t1" />
                  <property name="Output List.[0].Column" value="ID" />
                  <property name="Output List.[0].DataType" value="String" />
                  <property name="Output List.[1]" value="t1.Value" />
                  <property name="Output List.[1].Table" value="t1" />
                  <property name="Output List.[1].Column" value="Value" />
                  <property name="Output List.[1].DataType" value="String" />
                  <property name="Output List.[2]" value="t2.ID" />
                  <property name="Output List.[2].Table" value="t2" />
                  <property name="Output List.[2].Column" value="ID" />
                  <property name="Output List.[2].DataType" value="String" />
                  <property name="Output List.[3]" value="t2.Value" />
                  <property name="Output List.[3].Table" value="t2" />
                  <property name="Output List.[3].Column" value="Value" />
                  <property name="Output List.[3].DataType" value="String" />
                  <property name="Logical Operator" value="Left Outer Join" />
                  <property name="Statistics.Open Count" value="1" />
                  <property name="Statistics.Row Count" value="4" />
                  <property name="Statistics.Average Row Count" value="4" />
                  <property name="Predicate" value="t1.ID &gt;= t2.ID" />
                </properties>
                <input>
                  <element operator="TableScan">
                    <properties>
                      <property name="Table" value="JoinTable1 AS t1" />
                      <property name="Output List.[0]" value="t1.ID" />
                      <property name="Output List.[0].Table" value="t1" />
                      <property name="Output List.[0].Column" value="ID" />
                      <property name="Output List.[0].DataType" value="String" />
                      <property name="Output List.[1]" value="t1.Value" />
                      <property name="Output List.[1].Table" value="t1" />
                      <property name="Output List.[1].Column" value="Value" />
                      <property name="Output List.[1].DataType" value="String" />
                      <property name="Statistics.Open Count" value="1" />
                      <property name="Statistics.Row Count" value="2" />
                      <property name="Statistics.Average Row Count" value="2" />
                    </properties>
                    <input />
                  </element>
                  <element operator="TableScan">
                    <properties>
                      <property name="Table" value="JoinTable2 AS t2" />
                      <property name="Output List.[0]" value="t2.ID" />
                      <property name="Output List.[0].Table" value="t2" />
                      <property name="Output List.[0].Column" value="ID" />
                      <property name="Output List.[0].DataType" value="String" />
                      <property name="Output List.[1]" value="t2.Value" />
                      <property name="Output List.[1].Table" value="t2" />
                      <property name="Output List.[1].Column" value="Value" />
                      <property name="Output List.[1].DataType" value="String" />
                      <property name="Statistics.Open Count" value="2" />
                      <property name="Statistics.Row Count" value="4" />
                      <property name="Statistics.Average Row Count" value="2" />
                    </properties>
                    <input />
                  </element>
                </input>
              </element>
              <element operator="ComputeScalar">
                <properties>
                  <property name="Output List.[0]" value="t2.ID" />
                  <property name="Output List.[0].Table" value="t2" />
                  <property name="Output List.[0].Column" value="ID" />
                  <property name="Output List.[0].DataType" value="String" />
                  <property name="Output List.[1]" value="t2.Value" />
                  <property name="Output List.[1].Table" value="t2" />
                  <property name="Output List.[1].Column" value="Value" />
                  <property name="Output List.[1].DataType" value="String" />
                  <property name="Output List.[2]" value="t1.ID" />
                  <property name="Output List.[2].Table" value="t1" />
                  <property name="Output List.[2].Column" value="ID" />
                  <property name="Output List.[2].DataType" value="String" />
                  <property name="Output List.[3]" value="t1.Value" />
                  <property name="Output List.[3].Table" value="t1" />
                  <property name="Output List.[3].Column" value="Value" />
                  <property name="Output List.[3].DataType" value="String" />
                  <property name="Statistics.Open Count" value="1" />
                  <property name="Statistics.Row Count" value="0" />
                  <property name="Statistics.Average Row Count" value="0" />
                  <property name="Defined Values.[0]" value="t1.ID = NULL" />
                  <property name="Defined Values.[0].Target" value="t1.ID" />
                  <property name="Defined Values.[0].DataType" value="String" />
                  <property name="Defined Values.[0].Source" value="NULL" />
                  <property name="Defined Values.[1]" value="t1.Value = NULL" />
                  <property name="Defined Values.[1].Target" value="t1.Value" />
                  <property name="Defined Values.[1].DataType" value="String" />
                  <property name="Defined Values.[1].Source" value="NULL" />
                </properties>
                <input>
                  <element operator="NestedLoops">
                    <properties>
                      <property name="Output List.[0]" value="t2.ID" />
                      <property name="Output List.[0].Table" value="t2" />
                      <property name="Output List.[0].Column" value="ID" />
                      <property name="Output List.[0].DataType" value="String" />
                      <property name="Output List.[1]" value="t2.Value" />
                      <property name="Output List.[1].Table" value="t2" />
                      <property name="Output List.[1].Column" value="Value" />
                      <property name="Output List.[1].DataType" value="String" />
                      <property name="Output List.[2]" value="t1.ID" />
                      <property name="Output List.[2].Table" value="t1" />
                      <property name="Output List.[2].Column" value="ID" />
                      <property name="Output List.[2].DataType" value="String" />
                      <property name="Output List.[3]" value="t1.Value" />
                      <property name="Output List.[3].Table" value="t1" />
                      <property name="Output List.[3].Column" value="Value" />
                      <property name="Output List.[3].DataType" value="String" />
                      <property name="Logical Operator" value="Left Anti Semi Join" />
                      <property name="Statistics.Open Count" value="1" />
                      <property name="Statistics.Row Count" value="0" />
                      <property name="Statistics.Average Row Count" value="0" />
                      <property name="Predicate" value="t1.ID &gt;= t2.ID" />
                    </properties>
                    <input>
                      <element operator="TableScan">
                        <properties>
                          <property name="Table" value="JoinTable2 AS t2" />
                          <property name="Output List.[0]" value="t2.ID" />
                          <property name="Output List.[0].Table" value="t2" />
                          <property name="Output List.[0].Column" value="ID" />
                          <property name="Output List.[0].DataType" value="String" />
                          <property name="Output List.[1]" value="t2.Value" />
                          <property name="Output List.[1].Table" value="t2" />
                          <property name="Output List.[1].Column" value="Value" />
                          <property name="Output List.[1].DataType" value="String" />
                          <property name="Statistics.Open Count" value="1" />
                          <property name="Statistics.Row Count" value="2" />
                          <property name="Statistics.Average Row Count" value="2" />
                        </properties>
                        <input />
                      </element>
                      <element operator="TableScan">
                        <properties>
                          <property name="Table" value="JoinTable1 AS t1" />
                          <property name="Output List.[0]" value="t1.ID" />
                          <property name="Output List.[0].Table" value="t1" />
                          <property name="Output List.[0].Column" value="ID" />
                          <property name="Output List.[0].DataType" value="String" />
                          <property name="Output List.[1]" value="t1.Value" />
                          <property name="Output List.[1].Table" value="t1" />
                          <property name="Output List.[1].Column" value="Value" />
                          <property name="Output List.[1].DataType" value="String" />
                          <property name="Statistics.Open Count" value="2" />
                          <property name="Statistics.Row Count" value="2" />
                          <property name="Statistics.Average Row Count" value="1" />
                        </properties>
                        <input />
                      </element>
                    </input>
                  </element>
                </input>
              </element>
            </input>
          </element>
        </input>
      </element>
    </executionPlan>
  </expectedPlan>
</test>